
package cn.edu.scau.cmi.hombio.dao;

import cn.edu.scau.cmi.hombio.domain.Medicine;

import java.util.Set;

import org.skyway.spring.util.dao.JpaDao;

import org.springframework.dao.DataAccessException;

/**
 * DAO to manage Medicine entities.
 * 
 */
public interface MedicineDAO extends JpaDao<Medicine> {

	/**
	 * JPQL Query - findMedicineByName
	 *
	 */
	public Set<Medicine> findMedicineByName(String name) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByName
	 *
	 */
	public Set<Medicine> findMedicineByName(String name, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByPhoneContaining
	 *
	 */
	public Set<Medicine> findMedicineByPhoneContaining(String phone) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByPhoneContaining
	 *
	 */
	public Set<Medicine> findMedicineByPhoneContaining(String phone, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByCompanyContaining
	 *
	 */
	public Set<Medicine> findMedicineByCompanyContaining(String company) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByCompanyContaining
	 *
	 */
	public Set<Medicine> findMedicineByCompanyContaining(String company, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByPhone
	 *
	 */
	public Set<Medicine> findMedicineByPhone(String phone_1) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByPhone
	 *
	 */
	public Set<Medicine> findMedicineByPhone(String phone_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByNameContaining
	 *
	 */
	public Set<Medicine> findMedicineByNameContaining(String name_1) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByNameContaining
	 *
	 */
	public Set<Medicine> findMedicineByNameContaining(String name_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAllMedicines
	 *
	 */
	public Set<Medicine> findAllMedicines() throws DataAccessException;

	/**
	 * JPQL Query - findAllMedicines
	 *
	 */
	public Set<Medicine> findAllMedicines(int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByQuantityPerBox
	 *
	 */
	public Set<Medicine> findMedicineByQuantityPerBox(Integer quantityPerBox) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByQuantityPerBox
	 *
	 */
	public Set<Medicine> findMedicineByQuantityPerBox(Integer quantityPerBox, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByQuantityPerCase
	 *
	 */
	public Set<Medicine> findMedicineByQuantityPerCase(Integer quantityPerCase) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByQuantityPerCase
	 *
	 */
	public Set<Medicine> findMedicineByQuantityPerCase(Integer quantityPerCase, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByNumber
	 *
	 */
	public Set<Medicine> findMedicineByNumber(String number) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByNumber
	 *
	 */
	public Set<Medicine> findMedicineByNumber(String number, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByPrimaryKey
	 *
	 */
	public Medicine findMedicineByPrimaryKey(Integer id) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByPrimaryKey
	 *
	 */
	public Medicine findMedicineByPrimaryKey(Integer id, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByMemo
	 *
	 */
	public Set<Medicine> findMedicineByMemo(String memo) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByMemo
	 *
	 */
	public Set<Medicine> findMedicineByMemo(String memo, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineById
	 *
	 */
	public Medicine findMedicineById(Integer id_1) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineById
	 *
	 */
	public Medicine findMedicineById(Integer id_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByNumberContaining
	 *
	 */
	public Set<Medicine> findMedicineByNumberContaining(String number_1) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByNumberContaining
	 *
	 */
	public Set<Medicine> findMedicineByNumberContaining(String number_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByMemoContaining
	 *
	 */
	public Set<Medicine> findMedicineByMemoContaining(String memo_1) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByMemoContaining
	 *
	 */
	public Set<Medicine> findMedicineByMemoContaining(String memo_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByCompany
	 *
	 */
	public Set<Medicine> findMedicineByCompany(String company_1) throws DataAccessException;

	/**
	 * JPQL Query - findMedicineByCompany
	 *
	 */
	public Set<Medicine> findMedicineByCompany(String company_1, int startResult, int maxRows) throws DataAccessException;

}